
from comunidadcyt.mensajesPrivados.models import MensajesPrivados
from comunidadcyt.proyectos.models import Proyectos
from django.utils.encoding import force_unicode
from comunidadcyt.gruposDeInvestigacion.models import GruposDeInvestigacion as Grupos
from comunidadcyt.Registration_Users.models import User
from django.forms import ModelForm, ModelMultipleChoiceField


class choiceMultipleName(ModelMultipleChoiceField):
    def label_from_instance(self, obj):
        name = force_unicode(obj.first_name +' '+ obj.last_name)
        return name

class MensajesPrivadosForm(ModelForm): 
    
    def __init__(self, *args, **kwargs):
        super(MensajesPrivadosForm, self).__init__(*args, **kwargs)
        self.fields['UsuariosDestino']=choiceMultipleName(queryset=User.objects.all().order_by('first_name', 'last_name'),required=False)
        self.fields['UsuariosDestino'].label = "Usuarios destino"
        self.fields['GruposDestino'].queryset=Grupos.objects.all().order_by('Nombre_grupo')
        self.fields['GruposDestino'].help_text=None
        self.fields['GruposDestino'].label = "Grupos destino"
        self.fields['ProyectosDestino'].queryset=Proyectos.objects.all().order_by('Nombre_proyecto')
        self.fields['ProyectosDestino'].help_text=None
        self.fields['ProyectosDestino'].label = "Proyectos destino"
         
    class Meta:
        model = MensajesPrivados